#!/bin/bash

# 检查pid文件是否存在
if [ ! -f "app.pid" ]; then
    echo "未找到app.pid文件，应用可能未运行"
    exit 1
fi

# 读取进程ID
PID=$(cat app.pid)

# 检查进程是否存在
if ps -p $PID > /dev/null; then
    echo "正在停止应用进程 (PID: $PID)..."
    kill $PID
    
    # 等待进程结束
    for i in {1..5}; do
        if ! ps -p $PID > /dev/null; then
            echo "应用已停止"
            rm -f app.pid
            exit 0
        fi
        echo "等待进程结束... ($i/5)"
        sleep 1
    done
    
    # 如果进程仍然存在，强制终止
    if ps -p $PID > /dev/null; then
        echo "进程未响应，正在强制终止..."
        kill -9 $PID
        if [ $? -eq 0 ]; then
            echo "应用已强制停止"
            rm -f app.pid
            exit 0
        else
            echo "停止应用失败"
            exit 1
        fi
    fi
else
    echo "进程 (PID: $PID) 不存在，可能已经停止"
    rm -f app.pid
    exit 0
fi 